#include <stdio.h>

/**
 * 输入一个整型数，判断是否是对称数，如果是，输出yes，否则输出no，不用考虑这个整型数过大，int类型存不下，不用考虑负值；
 * 例如 12321是对称数，输出yes，124421是对称数，输出yes，1231不是对称数，输出no。
 * @return
 */
int main() {
    /**
     * Solution 1 保存目标整数的每一位数值，然后从前和后遍历位数进行比较
     * ## 解析：
     * 输入1234554321可以正常判断，而12345654321无法正常判断的原因：
     * 后者转化为二进制存储时，长度超过4个字节（整型数长度为4个字节）。
     * 4个字节可存储的最大二进制数 0xFFFFFFFF 转化为十进制等于 4294967295
     */
//    int t, length = 0;
//    int judge[32] = {0};
//    scanf("%d", &t);
//
//    // 将输入的整型数拆分
//    while (t % 10) {
//        int num = t % 10;
//        judge[length] = num;
//        t /= 10;
//        length++;
//    }
//
//    // 判断是否对称
//    for (int i = 0; i < length/2; i++) {
//        if (judge[i] != judge[length - 1 - i]) {
//            printf("no");
//            return 0;
//        }
//    }
//    printf("yes");

    /**
     * Solution 2 合成需要比较的形式
     * 可以忽略位数问题
     */
    int t, s = 0, tmp;
    // 输入目标整数
    scanf("%d", &t);
    tmp = t;
    // 解析目标数
    while (tmp % 10) {
        s = s * 10 + tmp % 10;
        tmp /= 10;
    }
    // 判断是否对称
    if (t == s) {
        printf("yes");
    } else {
        printf("no");
    }


    return 0;
}

